Software activation is a license validation procedure required by some proprietary computer software applications. In general, software activation is used to verify the authenticity of a product key and to ensure that the product key is not being used for multiple installations. Upon activation, the software application generally obtains a license that authorizes continued access to the software application by a user on the user's machine for the lifetime of the license.
One common problem associated with software activation involves a user activating a software application on a machine having an initial configuration, and then later attempting to use the license on the same machine but with an updated configuration. For example, a user may initially install a software application on a machine running a lower-priced operating system, and then after activation of the software application the user may upgrade the machine to run a higher-priced operating system. Even though activation of the software application on the higher-priced operating system would require a more expensive license, the user may be able to circumvent paying for the more expensive license by using the less expensive license that was already obtained during the prior software activation, notwithstanding the operating system upgrade.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described herein may be practiced.